﻿/********************************************************************************
** @ Date:2024/08/01
** @ Author: WeiXiaoYu
** @ Description: ini文件操作类
** @ Version:1.0.0
** @ Fun:
********************************************************************************/
#ifndef CINIHELP_H
#define CINIHELP_H

#include <QObject>
#include <QSharedPointer>
#include <QSettings>

class CIniHelp : public QObject
{
    Q_OBJECT
public:
    explicit CIniHelp(QObject *parent = nullptr);
    ~CIniHelp();

public:
    QSharedPointer<QSettings> m_iniFile;

public:
    void settingsInit(const QString &sPath);//初始化QSettings对象，并读取ini配置文件,如果不存在配置文件，则创建
    void setValue(const QString &sSection, const QString &sKey, const QString &sValue); //写入配置项（section:节点，key:键名，value:键值）
    void removeNode(const QString &sSection);//移除节点(包括其中所有的键值)
    void removeKey(const QString &sSection, const QString &sKey);//移除节点中的某个键值
    QString getValue(const QString &sSection, const QString &sKey, const QString &sDefaultValue = "");//读配置项
    QStringList getValueList(const QString &sSection, const QString &sKey, QString sDefaultValue);//批量读取

signals:

public slots:
};

#endif // CINIHELP_H
